﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Упр)
	///</summary>
	[DataContract]
	public enum МетодыРасчетаДанныхВновьПриобретенныхКомпаний
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"96161833-7056-460f-82e7-e055ff935d9d\", \"Представление\":\"ПоМетодуПокупки\"}")]
		ПоМетодуПокупки = 0,//По методу покупки
		[EnumMember(Value = "{\"Ссылка\":\"ae2cdca0-7b6f-470c-ac94-196fdce57cab\", \"Представление\":\"ПоМетодуОбъединенияИнтересов\"}")]
		ПоМетодуОбъединенияИнтересов = 1,//По методу объединения интересов (слияния)
	}
	public static partial class МетодыРасчетаДанныхВновьПриобретенныхКомпаний_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ПоМетодуПокупки = new Guid("55e0e782-93ff-9d5d-460f-705696161833");//По методу покупки
		public static readonly Guid ПоМетодуОбъединенияИнтересов = new Guid("6f1994ac-e5dc-ab7c-470c-7b6fae2cdca0");//По методу объединения интересов (слияния)
		public static МетодыРасчетаДанныхВновьПриобретенныхКомпаний Получить(this МетодыРасчетаДанныхВновьПриобретенныхКомпаний Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static МетодыРасчетаДанныхВновьПриобретенныхКомпаний Получить(this МетодыРасчетаДанныхВновьПриобретенныхКомпаний Значение, Guid Ссылка)
		{
			if(Ссылка == ПоМетодуПокупки)
			{
				return МетодыРасчетаДанныхВновьПриобретенныхКомпаний.ПоМетодуПокупки;
			}
			else if(Ссылка == ПоМетодуОбъединенияИнтересов)
			{
				return МетодыРасчетаДанныхВновьПриобретенныхКомпаний.ПоМетодуОбъединенияИнтересов;
			}
			return МетодыРасчетаДанныхВновьПриобретенныхКомпаний.ПустаяСсылка;
		}
		public static byte[] Ключ(this МетодыРасчетаДанныхВновьПриобретенныхКомпаний Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this МетодыРасчетаДанныхВновьПриобретенныхКомпаний Значение)
		{
			switch (Значение)
			{
				case МетодыРасчетаДанныхВновьПриобретенныхКомпаний.ПоМетодуПокупки: return ПоМетодуПокупки;
				case МетодыРасчетаДанныхВновьПриобретенныхКомпаний.ПоМетодуОбъединенияИнтересов: return ПоМетодуОбъединенияИнтересов;
			}
			return Guid.Empty;
		}
	}
}